<!-- $Id: package.html,v 1.5 2004/02/18 21:39:04 scolebourne Exp $ -->
 <!--
   Copyright 2003-2004 The Apache Software Foundation

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
  -->
<BODY>
<p>
This package contains implementations of the
{@link org.apache.commons.collections.BidiMap BidiMap},
{@link org.apache.commons.collections.OrderedBidiMap OrderedBidiMap} and 
{@link org.apache.commons.collections.SortedBidiMap SortedBidiMap} interfaces.
A BidiMap is an extension to Map that allows keys and values to be looked up with equal ease.
One example usage is a system communicating to a legacy datasource that must convert codes
from the new format to the old format and vice versa.
<p>
The following implementations are provided in the package:
<ul>
<li>DualHashBidiMap - uses two HashMaps to implement BidiMap
<li>DualTreeBidiMap - uses two TreeMaps to implement SortedBidiMap
<li>TreeBidiMap - red-black tree implementation of OrderedBidiMap
</ul>
<p>
The following decorators are provided in the package:
<ul>
<li>Unmodifiable - ensures the map cannot be altered
<!--
<li>Synchronized - synchronizes method access for multi-threaded environments
<li>Predicated - ensures that only elements that are valid according to a predicate can be added
<li>Typed - ensures that only elements that are of a specific type can be added
<li>Transformed - transforms each element added
<li>FixedSize - ensures that the size of the map cannot change
<li>Lazy - creates objects in the map on demand
<li>ListOrdered - ensures that insertion order is retained-->
</ul>
</pre>
</BODY>
